package com.bmf.module.examination.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bmf.core.result.PageResponse;
import com.bmf.module.examination.vo.*;
import com.bmf.module.examination.entity.TestPaper;
import com.bmf.module.rbac.vo.RbacUserResultVo;

import java.util.List;


/**
 * (TestPaper)表服务接口
 *
 * @author makejava
 * @since 2022-12-02 14:39:07
 */
public interface TestPaperService extends IService<TestPaper> {

    ExaminationResultsCreateVo getTestPaper(Integer id,String studentName);

    void saveTest(ExaminationResultsCreateVo examinationResultsCreateVo);

    ExaminationResultsCreateVo querySaveTest(Integer testinfoId);

    void submitTest(ExaminationResultsCreateVo examinationResultsCreateVo);

    List<TestPaperResultVo> selectTestList(Integer id);

    void updateTest(TestPaperUpdateVo testPaperUpdateVo);

    List<BigQuestionTestPaperResultVo> selectTestPaperInfo(Integer id);

    List<TestPaper> getByTestinfoIds(List<Integer> testIds);

    List<AchievementResultVo> achievementStatistics(Integer testinId);

    PageResponse<StatisticalResultVo> statisticalQuery(StatisticalQueryVo statisticalQueryVo);

    void deleteByTestinfoIds(List<Integer> ids);

    void leadingOut(Integer id);

    void judgeHasTestCount(Integer testid, String studentName);

    void judgeHasTestCountByStudentid(Integer testid);
}
